home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 June / MacFormat 25.iso / Shareware City / Developers / kvikkalkul / kvik / text / grammar < prev    next >
Encoding:
Text File  |  1995-04-05  |  1.1 KB  |  78 lines  |  [TEXT/MPS ]

  1. program =
  2.     (line NEWLINE)...
  3.  
  4. line =
  5.     assignment
  6.  |    data_def
  7.  |    data_pointer_assignment
  8.  |    data_pointer_move
  9.  |    PROGRAM_POINTER_DEF
  10.  |    program_pointer_assignment
  11.  |    goto
  12.  |    program_pointer_storage_def
  13.  
  14. assign_dest =
  15.     REGISTER
  16.  |    DATA_POINTER
  17.  |    CHANNEL
  18.  
  19. relational_op =
  20.      EQUAL
  21.  |    NOT_EQUAL
  22.  |    LESS_THAN
  23.  |    GREATER_THAN
  24.  |    LESS_THAN_OR_EQ
  25.  |    GREATER_THAN_OR_EQ
  26.  
  27. expr_op =
  28.     PLUS
  29.  |    MINUS
  30.  |    MULTIPLY
  31.  |    DIVIDE
  32.  |    relational_op
  33.  
  34. expr_arg =
  35.     assign_dest
  36.  |    NUMBER
  37.  |    CONSTANT
  38.  
  39. expr =
  40.     [ [ UMINUS ] expr_arg expr_op ] [ UMINUS ] expr_arg
  41.  
  42. assignment =
  43.     assign_dest ASSIGN expr
  44.  
  45. data_def =
  46.     DATA_POINTER_DEF BIGNUM
  47.  
  48. label =
  49.     BIGNUM
  50.  
  51. position =
  52.     NUMBER
  53.  |    REGISTER
  54.  |    DATA_POINTER
  55.  
  56. data_pointer_assignment =
  57.     DATA_POINTER POINTS_TO label [ position ]
  58.  |    DATA_POINTER ASSIGN PROGRAM_POINTER
  59.  
  60. data_pointer_move =
  61.     DATA_POINTER PREVIOUS
  62.  |    DATA_POINTER NEXT
  63.  
  64. program_pointer_assignment =
  65.     PROGRAM_POINTER POINTS_TO label
  66.  |    PROGRAM_POINTER ASSIGN DATA_POINTER
  67.  
  68. relational_expr =
  69.     expr_arg relational_op expr_arg
  70.  
  71. goto =
  72.     POINTS_TO PROGRAM_POINTER
  73.  |    relational_expr POINTS_TO PROGRAM_POINTER
  74.  
  75. program_pointer_storage_def =
  76.     PROG_POINTER_STORE_DEF BIGNUM
  77.  
  78.